8 - Konzeptionelle Modellierung [ID:818]
50 von 716 angezeigt

Herzlich willkommen zur Vorlesung konzeptioneller Modellierung.

Wir waren stehen geblieben bei der Relationen-Algebra und bei SQL.

Wir haben eine Menge von Tabellen und Datenbankschemen erstellt.

Wir wollen mit dieser Datenbank auch arbeiten.

Wir wollen Operationen auf diesen Tabellen anwenden können.

Wir haben als erstes die Relationen-Algebra kennengelernt, die eine Menge von Operationen auf Tabellen definiert.

Nach der Relation haben wir definiert, dass man eine Menge von Operationen anwenden kann.

Voraussetzung dafür ist, dass wir nur zwei Tabellen vereinigen können, wenn sie auch vereinigungsverträglich sind.

Es muss wieder eine neue Tabelle dabei rauskommen.

Das ist ein ganz wichtiges Kriterium und diese Tabelle muss unserer Definition auch noch genügen.

Vereinigungsverträglich bedeutet, dass die zwei Tabellen, die wir vereinigen wollen, die gleiche Anzahl von Attributen haben.

Die Attribute haben ein paarweise gleiche Wertebereiche.

Wenn das der Fall ist, dann kann man zwei Tabellen vereinigen und andere Mengenoperationen machen, Durchschnitt bilden und die Differenz bilden.

Dann haben wir spezielle Operationen kennengelernt, die sich auf die Tabellenstruktur beziehen.

Wir haben unäre Operationen kennengelernt, die eine Tabelle als Eingabe haben und eine neue Tabelle produzieren.

Und binäre Operationen, die aus zwei Tabellen eine machen.

Ein Beispiel für so eine binäre Operation ist das kathesische Produkt, das Kreuzprodukt zweier Tabellen.

Das macht aus einer Tabelle mit N-Zeilen und einer Tabelle mit M-Zeilen eine neue Tabelle mit N plus M-Zeilen.

Jedes Tupel in dieser neuen Tabelle ist dann ein kombiniertes Tupel, das zu einem Teil aus einem Tupel aus der ersten Eingangstabelle besteht.

Der zweite Teil besteht aus einem Tupel aus der anderen Tabelle.

Der Inhalt dieser Tabelle ist die Kombination, also jedes Tupel der einen Eingangstabelle wird mit jedem Tupel der anderen Tabelle kombiniert.

Wenn wir eine Tabelle A mit 100 Tupeln haben und eine Tabelle B mit 100 Tupeln, dann sind in der Tabelle A Kreuz B 100.000 Tupel drin.

Das ist das Kreuzprodukt.

Dann haben wir die Restriktion oder auch Selektion kennengelernt.

Da wählen wir mithilfe eines Prädikats, eines Selektionsprädikats eine Teilmenge der Zeilen der Eingangstabelle aus.

Alle Tupel der Eingangstabelle, die dieses Prädikat erfüllen, die kommen in Ausgangsmenge rein und alle die es nicht erfüllen, die fliegen raus.

Ganz einfach. Wir reduzieren also die Anzahl der Zeilen, die Anzahl der Spalten bleibt gleich.

Dann haben wir Projektion noch kennengelernt als eine Operation, die die Anzahl der Spalten reduziert.

Wir geben also explizit an, welche Spalten in unserem Ergebnis enthalten sein sollen und die anderen fliegen raus.

Sollte es jetzt zufällig so sein, dass in unserer Projektionsliste, also die Attribute, die unsere Ausgangstabelle noch haben soll,

wenn da jetzt kein Schlüsselkandidat mehr dabei ist aus unserer ursprünglichen Tabelle, dann kann es sein, dass jetzt Duplikate entstehen in der neuen Tabelle.

Und da haben wir gesagt, hier bei der Relationenalgebra, die müssen natürlich eliminiert werden, weil wir haben eine Tabelle definiert als eine Menge von Zeilen, die eben keine Duplikate enthält.

Es kann also sein, wir reduzieren die Anzahl der Spalten und im Zuge der Duplikateleminierung kann es auch sein, dass dadurch die Menge der Zeilen geringer wird.

Dann haben wir auch die Verbundoperationen kennengelernt und das haben wir vereinfacht erklärt als eine hintereinander Ausführung von kathesischem Produkt und Selektion.

Also, wir bilden zuerst das Kreuzprodukt, hier haben wir auch eine binäre Operation, wir verknüpfen zwei Tabellen miteinander, A und B, und erzeugen eine neue Tabelle.

Und die neue Tabelle, die enthält alle Attribute aus A und alle Attribute aus B.

Es kommt da jetzt nicht mehr jede Tupelkombination aus A und B da rein, sondern nur noch diejenigen, die ein bestimmtes Selektionsprädikat erfüllen.

Und ein typisches Selektionsprädikat für so eine Verbundoperation ist das, dass wir ein Attribut der Tabelle A auf Gleichheit überprüfen mit einem Attribut der Tabelle B.

Diese Attribute nennen wir Verbundattribute.

Typischerweise ist das ein Vergleich zwischen einem Premierschlüssel und einem Fremdschlüsselattribut. Zum Beispiel, wenn wir einen Verbund bilden zwischen Mitarbeitern und Abteilungen,

dann haben wir bei den Mitarbeitern einen Fremdschlüssel stehen auf die Tabelle Abteilung.

Und wir wollen typischerweise den Mitarbeiter mit seiner Abteilung kombinieren, nicht mit allen Abteilungen.

Also gucken wir nach, in dem Fremdschlüsselattribut Abteilung steht da der gleiche Wert drin, wie in dem Premierschlüsselattribut Abteilung bei der anderen Tabelle.

Also wir wählen nur noch die Kombinationen aus, die bezogen auf diese Primär-Fremdschlüssel-Beziehung Sinn machen.

So, das ist die Verbundoperation und typischerweise ist das so, wenn wir zwei Attribute auf Gleichheit überprüfen, dann reden wir vom sogenannten Equijoin, vom Gleichverbund.

Wir haben dann in unserer Ergebnistabelle zwei Spalten drin, die genau gleich aussehen.

Die haben wir ja gerade so ausgewählt, dass die gleich aussehen. Also können wir im Prinzip eine Spalte da rausschmeißen.

Das macht man auch normalerweise.

Und dann reden wir vom sogenannten Natural Join. Wir vergleichen automatisch alle Attribute der einen Tabelle, die gleich heißen wie die Attribute der anderen Tabelle.

Und im Ergebnis schmeißen wir dann eine von diesen doppelten Spalten jeweils raus. Da ist dann der Natural Join.

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:28:16 Min

Aufnahmedatum

2010-06-15

Hochgeladen am

2011-04-11 13:53:28

Sprache

de-DE

Tags

Systeme Modellierung Datenmodellierung Entity-Relationship-Modell objektorientiert UML Relational Metamodellierung XML Multidimensional Domänenmodellierung Ontologien Grundlagen
Einbetten
Wordpress FAU Plugin
iFrame
Teilen